package Modelo.ObjetosDAO.Implementaciones;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;





import java.util.Vector;

import Modelo.Entidades.ClaseLicencia;
import Modelo.Entidades.CostoVigencia;
import Modelo.GestionDeBD.GestorBD;
import Modelo.ObjetosDAO.Interfases.IClaseLicenciaDAO;
import Modelo.ObjetosDAO.Interfases.ICostoVigenciaDAO;

public class LicenciaDAO implements ICostoVigenciaDAO,IClaseLicenciaDAO{

	private GestorBD gbd=GestorBD.getGestorBD();
	
	public Vector<ClaseLicencia> cargarLicencias ()
	{
		Connection conn = gbd.getConnection();
		Vector<ClaseLicencia> listaClaseLicencias = new Vector<ClaseLicencia>();
		PreparedStatement sentencia = null;
		ResultSet rs = null;

		try {
			String consulta = "SELECT * FROM clase_licencia";
			sentencia = conn.prepareStatement(consulta);
			rs = sentencia.executeQuery();
			while (rs.next()) {
				ClaseLicencia clase = new ClaseLicencia(rs.getString("descripcion"), rs.getInt("id"));
				listaClaseLicencias.add(clase);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return listaClaseLicencias;
	}

	
	public int obtenerCostoLicencia (ClaseLicencia clase,int vigencia)	{
		
		Connection conn=gbd.getConnection();
	
		CostoVigencia c = new CostoVigencia();
		PreparedStatement sentencia = null;
		ResultSet rs = null;
		try {
			String consulta = "SELECT * FROM costo_vigencia WHERE clase_licencia_id = ? and vigencia = ?";
			sentencia = conn.prepareStatement(consulta);
		
		sentencia.setInt(1, clase.getIdClaseLicencia());
		sentencia.setInt(2, vigencia);

			rs = sentencia.executeQuery();
			if (rs.next()) {
			c.setCosto(rs.getInt("costo"));
			}
		} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();

	}
		return c.getCosto();	 
	}
	
}
